from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager

from fake_useragent import UserAgent



class Browser:

    """ Класс представляющий браузер """

    def get_browser(self, display_browser):

        """ Настроить и получить браузер """

        user_agent = UserAgent()
        user_agent = user_agent.random
        driver = ChromeDriverManager().install()

        options = webdriver.ChromeOptions()
        options.add_argument(f'--user-agent={user_agent}')
        options.add_argument(f'--disable-blink-features=AutomationControlled')

        if display_browser == 'no': options.add_argument('--headless')

        browser = webdriver.Chrome(
            driver,
            options=options
        )

        return browser


    def launch_browser(self, url, time=5):

        """ Запустить браузер """

        self.browser.get(url)
        self.browser.maximize_window()
        self.browser.implicitly_wait(time)


    def close_browser(self):

        """ Закрыть браузер """

        self.browser.quit()
